#pragma once

class CEX Object
{

	#ifdef PIX5DEBUG
		// Previous/next objects in the doubly linked-list of all instantiated objects
		Object* __prev;
		Object* __next;

		friend class CEX Debug;
	#endif

public:
	
	virtual const char* __getName(){return "Object";}

	Object()
	{
		#ifdef PIX5DEBUG
			// Register the object
			Debug::registerObject(this);
		#endif
	}


	virtual ~Object()
	{
		#ifdef PIX5DEBUG
			// Unregister the object
			Debug::unregisterObject(this);
		#endif
	}

};
